1. Field of Invention
This invention is directed to determining positional displacements using image correlation.
2. Description of Related Art
Various known devices use images acquired by an sensor array, and correlation between images acquired by the sensor array to determine deformations and/or displacements. For example, one class of such devices is based on acquiring a speckle image generated by illuminating an optically rough surface with a light source. Generally, the light source is a coherent light source, such as a laser-generating light source. Such laser-generating light sources include, a laser, a laser diode, and the like. After the optically rough surface is illuminated by the light source, the light scattered from the optically rough surface is imaged onto an optical sensor. The optical sensor can be a charge-coupled device (CCD), or a semi-conductor image sensor array, such as a CMOS image sensor array, or the like.
Prior to displacing or deforming the optically rough surface, a first or reference speckle image is captured and stored. Then, after displacing or deforming the optically rough surface, a second or subsequent speckle image is captured and stored. The first and second speckle images are then compared on a pixel-by-pixel basis. In general, a plurality of comparisons are performed. In each comparison, the first and second speckle images are offset, or spatially translated, relative to each other. Between each comparison, the amount of offset, or spatial translation, is increased by a known amount, such as one image element, or pixel, or an integer number of image elements, or pixels.
In each comparison, the image value of a particular pixel in the first image is multiplied by, or subtracted from, the image value of the corresponding second image pixel, where the corresponding second image pixel is determined based on the amount of offset. The value resulting from each pixel-by-pixel operation is accumulated to determine a correlation value for that comparison between the first and second images. That correlation value is then, in effect, plotted against the offset amount, or spatial translation position, for that comparison to determine a correlation function value point. The offset having the greatest correlation between the second and first images will generate a peak or a trough (depending on how the pixel-by-pixel comparison is performed) in the plot of correlation function value points. The offset amount corresponding to the peak or trough represents the amount of displacement or deformation between the first and second speckle images.
For example, U.S. Pat. No. 4,794,384 to Jackson discloses a mouse which uses speckle image correlation to determine displacement of a mouse in two dimensions. In particular, in the 384 patent, for cursor control by a mouse, the speckle image correlation does not need to be performed at a high rate and the accuracy only needs to be on the millimeter range.
U.S. Pat. No. 4,967,093 to Takemori discloses systems and methods for measuring deformation of an object using speckle image correlation. In particular, the 093 patent describes in detail various conventional methods for comparing two speckle images and for determining when to update a current reference speckle image with a new reference speckle image.
The most common method of speckle-image-correlation, disclosed for example in the 093 patent, is based on an auto-correlation function or cross-correlation function that uses multiplicative operations. However, image correlation based on “absolute value of difference” (AVD) operations, such as disclosed in U.S. Pat. No. 4,671,650 to Hirzel is also known and may be applied to speckle images.
The above-described conventional image correlation systems are generally useable only for determining motions and displacements at a relatively coarse level of resolution and accuracy, generally corresponding to the pixel spacing in the imaging system. In image correlation systems where sub-pixel resolution is needed, the sub-pixel resolution is obtained by sub-pixel interpolation. In known laboratory-type systems, sub-pixel interpolation is conventionally performed by fitting a continuous function to the discrete pixel-by-pixel points of a conventional cross-correlation function, locating the extremum, or peak, of the fitted function with sub-pixel resolution, and assuming the extremum, or peak, location is the best estimate of the true offset between the compared images, and thus of the associated displacement. It is also known to apply a similar procedure to synthetic images that are created at sub-pixel steps by interpolating between the adjacent raw pixel values to create synthetic pixel values, as though an image were taken with the pixels located at the desired sub-pixel step location.
It is also known to fit a parabola to the discrete pixel-by-pixel points of a conventional cross-correlation function, in which case the equation of the fit parabola may directly indicate a global coordinate of symmetry, as the best estimate of the true offset between the compared images. Alternatively, it is known to find a global coordinate of symmetry by determining a centroid from the discrete pixel-by-pixel points of a correlation function, or convolving a sawtooth function, or the like, with the discrete pixel-by-pixel points of a correlation function.